﻿using System;
using System.Linq;
using Microsoft.Practices.Prism.ViewModel;

namespace Mipic.Modules.Mood.ViewModels
{
    public class OverlayViewModel : NotificationObject
    {
        
        #region //--------- Private Fields --------------//
        
        private int _borderRow;
        private int _borderColumn;
        private bool _isShowBorder;

        #endregion
        
        #region //--------- Public Constructors ---------//
        
        /// <summary>
        /// Initializes a new instance of the <see cref="OverlayViewModel" /> class.
        /// </summary>
        public OverlayViewModel()
        {
            BorderColumn = 2;
            BorderRow = 1;
            IsShowBorder = true;
        }
        
        #endregion
        
        #region //--------- CLR Properties --------------//
        
        /// <summary>
        /// Gets or sets the border row.
        /// </summary>
        /// <value>The border row.</value>
        public int BorderRow
        {
            get
            {
                return _borderRow;
            }
            set
            {
                if (_borderRow != value)
                {
                    _borderRow = value;
                    RaisePropertyChanged(() => this.BorderRow);
                }
            }
        }
        
        /// <summary>
        /// Gets or sets the border column.
        /// </summary>
        /// <value>The border column.</value>
        public int BorderColumn
        {
            get
            {
                return _borderColumn;
            }
            set
            {
                if (_borderColumn != value)
                {
                    _borderColumn = value;
                    RaisePropertyChanged(() => this.BorderColumn);
                }
            }
        }
        
        /// <summary>
        /// Gets or sets the is show border.
        /// </summary>
        /// <value>The is show border.</value>
        public bool IsShowBorder
        {
            get
            {
                return _isShowBorder;
            }
            set
            {
                if (_isShowBorder != value)
                {
                    _isShowBorder = value;
                    RaisePropertyChanged(() => this.IsShowBorder);
                }
            }
        }

        #endregion

    }
}